Problem statement: zenit12kkg
G: Trojuholník |
30 bodov | Časový limit: 500 ms |
Nácvik videa z predchádzajúcej úlohy pokračoval záberom zhora. Režisér si rozostavil
tanečníkov v hale, ktorá má obdĺžnikovú podstavu a jej šírka a dĺžka v metroch je kladné celé číslo.
Halu môžeme rozdeliť na pomyselné štvorčeky s veľkosťou 1x1 meter. Každý takýto štvorec je prázdny alebo
v ňom stojí jeden tanečník. Keď sa na situáciu pozrieme zhora, môžeme
si ju nakresliť ako mriežku, kde
. označuje prázdne miesto a
# obsadené.
Hlavným sponzorom podujatia je firma
Trojuholníky s.r.o, ktorá sa venuje
výrobe predmetov trojuholníkového tvaru. Rozostavenie je preto uspokojivé, ak obsadené políčka formujú trojuholník.
Trojuholník s veľkosťou d je tvorený vodorovnou podstavou dĺžky 2d+1 a dvoma šikmými stranami dĺžky
d+1. Príklady trojuholníkov s veľkosťou 1,2 a 3:
.......................
...#.....#.......#.....
..###...#.#.....#.#....
.......#####...#...#...
..............#######..
.......................
Trojuholník pozostáva len z obvodu (nemusí byť vyplnený). Napíšte program, ktorý prečíta popis
aktuálneho stavu miestnosti a zistí, či obsadené políčka formujú nejaký trojuholník.
Trojuholník musí byť orientovaný ako v príklade. Otočenia dole hlavou, o 90 alebo 270 stupňov
vyhovujúce nie sú. V sále
môžu byť aj iní tanečníci. Stačí, že sa trojuholník vyskytne niekde medzi nimi (viď príklady vstupu).
V prvom riadku vstupu sú dve celé čísla R a C (1 ≤ R,C ≤ 50) - rozmery sály. Na ďalších
R riadkoch je samotný popis. Na každom z týchto riadkov je reťazec dlhý C, ktorý pozostáva len
zo znakov
. a
#. Na jediný riadok výstupu vypíšte
ANO, ak znaky
# formujú
trojuholník s veľkosťou d pre nejaké d ≥ 1. V opačnom prípade vypíšte
NIE.
>
Príklady:
| |
6 7
..##..#
.#.#.##
..###.#
.#..##.
#######
#.##..#
|
| |